package adventure;

import adventure.commands.skills.SkillManager;
import adventure.misc.Currency;
import adventure.placeable.PlaceableManagerEdit;
import adventure.room.RoomManagerEdit;
import adventure.vocation.VocationManager;
import help.Help;
import player.PlayerManager;
import server.util.Broadcaster;

/**
 *
 * @author Michael Hanns
 *
 */
public interface AdventureEdit {

    public String getName();

    public String getDescription();

    public double getVersion();
    
    public double getSoftwareVersion();
    
    public String getAuthor();
    
    public String getLoginScreen();

    public boolean ready();
    
    public int sx();
    
    public int sy();

    public int sz();

    public void setName(String name);

    public void setVersion(double version);
    
    public void setSoftwareVersion(double version);

    public void setDescription(String desc);
    
    public void setAuthor(String auth);
    
    public void setLoginScreen(String login);
    
    public void setCurrency(Currency currencyName);

    public void setStartArea(int x, int y, int z);

    public void setPlayerManager(PlayerManager players);

    public void setBroadcaster(Broadcaster broadcaster);

    public void setHelpFile(Help helpFile);

    public RoomManagerEdit getRoomManager();

    public PlaceableManagerEdit getPlaceableManager();
    
    public Currency getCurrency();
    
    public VocationManager getVocationManager();   
    
    public SkillManager getSkillManager();

    public PlayerManager getPlayerManager();

    public Broadcaster getBroadcaster();
    
    public Adventure cloneThis();
}
